
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
    /* user-select: none; */
}
html {
    scroll-behavior: smooth; /* Suaviza a rolagem */
    font-size: 100%; /* 16px padrão */

    
}
body{
    width: 100%;
    margin: 0;
    background-color: var(--home-section-bg);
    /* overflow: hidden; */
    overflow-y: auto; /* Permite rolagem vertical */
    overflow-x: hidden; /* Mantém a largura sem rolagem horizontal */
}
.container{
    width: 100%;
    padding: 20px;
    background-color: var(--container-bg);
    border-radius: 10px;
    box-shadow: 0px 2px 2px var(--container-shadow);
    /* min-height: 550px; */
}

#loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--container-bg);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
    
.loader {
    border: 6px solid var(--loader-bg);
    border-top: 6px solid var(--loader-bg-hover);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
}
    
.loader-text {
    font-size: 18px;
    font-weight: bold;
    color: var(--loader-font);
}
    
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.sub-menu-profile li a {
    text-decoration: none;
    color: inherit; /* Herda a cor do <li> */
    width: 100%;
    display: block; /* Faz o link ocupar todo o espaço do <li> */
}

.sub-container{
    padding: 20px;
    background-color: var(--subcontainer-bg);
}

.header-container{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5vh;
}
.header-container h3{
    margin: 0;
}
h3 {
    text-align: center;
    margin-bottom: 1vw;
    font-size: 20px;
    font-weight: 500;
    font-family: 'Roboto';
}
.grid{
    margin-top: 1vw;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
legend{
    text-align: center; 
    font-weight: bolder; 
    font-size: 19px;
    color: var(--notification-font);
}
.div-input{
    padding: 0.5vw;
}
/* label{
    font-weight: 500;
    font-size: 16px;
    display: block;
    margin-bottom: 5px;
    color: #000;
    font-family: 'Quattrocento Sans';
} */
/* .div-input label {
    margin-right: 10px;
    margin-bottom: 0;
} */
.label-text-above-input{
    font-size: 14px; 
    line-height: 2;
    margin: 0;
    padding: 0;
    display: inline-block;
    font-weight: 500;
    /* color: #37414A; */
    /* color: #158d9b; */
    color: var(--input-label);
    font-family: 'Roboto';
}
.label-checkbox{
    margin-bottom: 0;
}

.div-options-form fieldset label{
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 400;
    color: var(--notification-font);
    font-family: 'Roboto';
}

#crcdisplay{
    display: none;
}


/* ============================ INPUTS - INICIO =================================*/

input[type="text"],
input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea,
select {
    width: 100%;
    padding: 6px;
    box-sizing: border-box;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    font-size: 14px;
    height: 5vh;
}
input[type="text"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus{
    outline: none;
    border-color: var(--input-border-hover);
    box-shadow: 0 0 12px var(--input-border-shadow);
}
input[type="text"]:hover,
input[type="date"]:hover,
input[type="datetime-local"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
input[type="number"]:hover,
input[type="password"]:hover,
textarea:hover,
select:hover{
    border: 1px solid var(--input-border-hover);
}
input:disabled, select:disabled, textarea:disabled {
    background-color: var(--input-disabled);
    color: var(--input-disabled-font);
    border: 1px solid var(--input-disabled-border);
    cursor: not-allowed;
    opacity: 0.6;
}
input:hover:disabled, select:hover:disabled, textarea:hover:disabled {
    border: 1px solid var(--input-disabled-border);
}

textarea{
    height: auto;
}
input[type="radio"]{
    margin-right: 2px;
}
label input[type="radio"] {
    margin-left: 10px;
}
input[type="file"]{
    display: none;
}
textarea{
    resize: none;
}
/* Esconde o checkbox padrão */
input[type="checkbox"] {
    appearance: none; /* Remove o estilo padrão */
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--checkbox-border);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    transition: 0.2s, border-color 0.2s;
    outline: none;
}

/* Estilo ao passar o mouse (hover) */
input[type="checkbox"]:hover {
    border-color: var(--checkbox-border-hover); /* Muda a cor da borda */
}

/* Estilo quando o checkbox está marcado */
input[type="checkbox"]:checked {
    background-color: var(--checkbox-checked-bg);
}

/* Adiciona o ícone de marcação no checkbox */
input[type="checkbox"]:checked::after {
    content: "✔"; /* Ícone de check */
    color: white;
    font-size: 12px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;   /* Ocupa a largura total do checkbox */
    height: 100%;  /* Ocupa a altura total do checkbox */
    display: grid;
    place-items: center; /* Centraliza o ícone dentro do ::after */
}
input[type="checkbox"]:checked:hover{
    background-color: var(--checkbox-checked-bg-hover);
}
input[type="checkbox"]{
    margin-right: 3px;
    background-color: var(--checkbox-bg);
}


/* Remove o estilo padrão do radio */
input[type="radio"] {
    appearance: none; /* Remove o estilo padrão */
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--radio-border);
    border-radius: 50%; /* Torna o radio circular */
    cursor: pointer;
    position: relative;
    transition: 0.2s;
    outline: none;
}

input[type="radio"]:hover {
    border-color: var(--radio-border); /* Muda a cor da borda */
}

/* Estilo quando o radio está marcado */
input[type="radio"]:checked {
    background-color: var(--radio-checked-bg);
}

/* Adiciona o ícone de marcação no radio */
input[type="radio"]:checked::after {
    content: ""; /* Círculo interno */
    position: absolute;
    top: 50%; /* Centraliza verticalmente */
    left: 50%; /* Centraliza horizontalmente */
    width: 10px; /* Tamanho do círculo interno */
    height: 10px; /* Tamanho do círculo interno */
    background-color: var(--checkbox-checked-bg); /* Cor do círculo interno */
    border-radius: 50%; /* Mantém o círculo */
    transform: translate(-50%, -50%); /* Centraliza o círculo interno */
}
/* Efeito hover no círculo interno */
input[type="radio"]:hover::after {
    background-color: var(--radio-checked-after-bg); /* Muda a cor do círculo interno ao passar o mouse */
}

.check-with-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--checkbox-border)
}

/* Remove margens indesejadas do label */
.check-with-label .label-text-above-input {
    margin: 0;
    line-height: 1;  /* garante que fique centralizado no eixo vertical */
}



.form-group {
    padding: 0.5vw;
    justify-items: center;
}

.form-group-padding-0{
    padding-right: 0.5vw;
    justify-items: center;
}

.padding-left-5{
    padding-left: 0.5vw;
}


.form-group-padding-right-0{
    padding-right: 0vw;
    justify-items: center;
}



/* ============================ INPUTS - FIM =================================*/

.div-label-ativo{
    display: flex;
    flex-basis: 100%;
    padding: .5vw .5vw 0 .5vw;
    gap: 1vw;
}
.div-label-ativo .label-ativo{
    display: flex;
    align-items: flex-end;
    font-size: 16px;
    gap: 5px;
    margin: 0;
    font-weight: bold;
    cursor: pointer;
    font-weight: 400;
}


.div-labels-checkbox{
    display: flex;
    flex-basis: 100%;
    padding: .5vw;
    gap: 1vw;

    & label {
        display: flex;
        align-items: center;
        font-size: 16px;
        gap: 5px;
        margin: 0;
        font-weight: bold;
        cursor: pointer;
    }
}

.documentos{
    display: flex;
    flex-basis: 100%;
    flex-direction: column;
    text-align: center;
    align-content: center;
    justify-content: center;
}

.fieldset-sexo,
.fieldset-logo-revend,
.fieldset-usuario-foto,
.fieldset-usuario-configs-add{
    width: 100%;
    text-align: center;
    align-self: center;
    align-content: center;
    padding: 0;
}
.fieldset-usuario-foto,
.fieldset-usuario-configs-add,
.container-itens-img{
    height: 38vh;
}
.fieldset-tipo-fornecedor,
.fieldset-pessoa-option{
    width: 100%;
    gap: 20px;
    padding: 5px;
    display: flex;
    flex-direction: row;
    text-align: center;
    align-items: center;
    justify-content: center;
}
.fieldset-pessoa-option label,
.fieldset-tipo-fornecedor label{
    cursor: pointer;
}
.div-options-form{
    display: flex;
    width: 25%;
    justify-content: center;
}
.fieldset-nova-financeira{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
.fieldset-default{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
fieldset{
    border : 1px solid var(--fieldset-border);
    border-radius: 4px;
}
.fieldset-imagem{
    display: flex;
    justify-content: center;
}
.div-align-fieldset-content{
    width: 100%;
    padding: 0 .5em .5em .5em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    & hr{
        margin: 1vw .5vw;
        width: 100%;
    }

    & .add-button{
        padding: .5vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        gap: 10px;
    }
}
.div-align-fieldset-content .div-radio{
    padding: .5vw .7vw;
    display: flex;
    align-items: flex-end;
}
.div-align-fieldset-content .div-radio label{
    padding-left: 3px;
    cursor: pointer;
}
.div-align-fieldset-content .div-procurador,
.div-align-fieldset-content .div-checkbox-procurador-inicial{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.div-align-fieldset-content .div-checkbox-procurador-inicial{
    display: none;
}
.div-align-fieldset-content .div-procurador .div-btn-add-procurador{
    padding: .5vw;
    display: flex;
    align-items: flex-end;
}
.div-align-fieldset-content .div-procurador .div-checkbox-procurador-inicial{
    align-items: center;
    padding: .5vw;
}
.div-align-fieldset-content .div-impressoes{
    width: 100%;
    display: flex;
    flex-direction: row;

}
.div-align-fieldset-content .div-impressoes .div-checkbox-impressoes{
    display: flex;
    align-items: center;
    padding: .5vw;
}
.div-align-fieldset-content .div-impressoes .div-select-impressoes{
    padding: .5vw;
    display: none;
}
.div-align-fieldset-content .div-impressoes div{
    height: 7.2vh;
}
.div-default{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.div-input-tipo-financiamento{
    padding: .5vw;
    flex-basis: 100%;
}
.div-separation{
    display: flex;
}
.div-complemento-input-tipo-financiamento{
    display: flex;
    flex-basis: 100%;
    flex-wrap: wrap;
    flex-direction: row;
}

.div-sexo-borda{
    border: 1px solid var(--fieldset-border);
    border-radius: 4px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    background-color: transparent;
    height: 5vh;
}

.div-sexo2,
.div-config {
    display: flex;
    align-items: center;
    padding: 0.5vw 0.3vw 0.5vw 0.3vw;
    cursor: pointer;
    gap: 2px;
}
.div-sexo2 label{
    font-size: 14px;
    margin-right: 0;
    cursor: pointer;
}
.div-sexo2 input[type="radio"]{
    height: 16px;
    width: 16px;
    cursor: pointer;
}
.div-sexo2 input[type="radio"]:checked::after{
    width: 8px;
    height: 8px;
}
.div-tipo-fornecedor{
    display: flex;
    margin-bottom: 0.5vw;
    justify-content: center;
    padding: 0;
}
.tamanho-total{
    flex-basis: 100%;
}
.flex{
    display: flex;
}
.direcao-coluna{
    flex-direction: column;
}
.direcao-linha{
    flex-direction: row;
    align-content: center;
}
.center{
    align-items: center;
}
.flex-grow{
    flex-grow: 1;
}
.posicao-relativa{
    position: relative;
}
.flex-container {
    display: flex;
    align-items: center; /* Alinha verticalmente no centro */
    position: relative;
}
/* span {
    font-weight: bold;
} */
.padding-default{
    padding: 0.5vw;
}
.div-opcoes{
    align-content: center;
}
.button-remove-img{
    display: none;
}
.div-buttons-img{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-basis: 50%;
    padding: .5vw;

    & .buttons-img{
        width: 70%;
    }
}
.container-itens-img{
    display: flex;
    flex-direction: row;
    align-items: center;
}
.opcoes-imagem{
    background-color: var(--btn-gray-bg);
    border-radius: 5px;
    color: var(--btn-font);
    cursor: pointer;
    margin: 5px;
    padding: 6px 20px;
    text-align: center;
    display: block;
}

.opcoes-imagem:hover{
    background-color: var(--btn-gray-bg-hover);
}

#remover-imagem{
    background-color: var(--btn-red-bg);
}

#remover-imagem:hover{
    background-color: var(--btn-red-hover);
}

.div-preview-img{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.div-preview-logo{
    flex-basis: 50%;
    width: 100%;
    height: 100%;
    padding: .5vw;
    display: flex;
    justify-content: center;

    & .preview-logo{
        border: 1px solid var(--input-border);
        height: 100%;
        width: 90%;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

}
.preview-imagem{
    /* border: 1px solid #000;  COMENTADO POR LUCAS FUCHS (08/01/2025) */
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 10px;
    justify-content: center;
    cursor: pointer;
}
.checkbox-config-div{
    margin-right: 5px;
}

.div-config label{
    font-weight: 500;
}
.gap{
    gap: 15px;
}


.span-padrao {
    color: var(--span-padrao);
    margin-right: 10px; 
    font-size: 16px;
}
.span-vermelho {
    color: var(--span-vermelho); 
    margin-right: 10px; 
    font-size: 16px;
}
.resumo,
.desconto{
    padding: 0.2vw;
    display: flex;
    justify-content: space-between;
}
.desconto{
    justify-content: end;
}

.fieldset-border{
    border: none;
}
hr{
    margin-top: 0.5vw;
    margin-bottom: 0.5vw;
}
.alinhamento-valores{
    width: 40%;
    display: flex;
    justify-content: space-between
}

.div-checkbox{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.alinhando-checkbox{
    display: flex;
    align-items: center;
}
.alinhando-checkbox label{
    margin: 0;
    margin-left: 1%;
}

.parcelas-switch{
    width: 15%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.switch input {
    display: none;
}
.switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 23px;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--slider-bg);
    transition: .4s;
    border-radius: 34px;
}
.slider:before {
    position: absolute;
    content: "";
    height: 15px;
    width: 15px;
    left: 4px;
    bottom: 4px;
    background-color: var(--slider-before-bg);
    transition: .4s;
    border-radius: 50%;
}
input:checked + .slider {
    background-color: var(--slider-checked-bg);
}
input:checked + .slider:before {
    transform: translateX(26px);
}

.space{
    margin-right: 0.5vw;
}

/* COMENTADO POR MOTIVO DE TABELA DE PERMISSÕES NAO ESTAR ATIVA, MANTER CSS ....
    by LUCAS FUCHS (16/06/2025).
*/
/* .table-permissoes {
    width: 100%;
    border-collapse: collapse;
    text-overflow: ellipsis;
    border-spacing: 0;
    display: table;
    overflow: hidden;
    border-bottom: 1px solid #ddd;
}
.table-permissoes th:nth-child(1), .table-permissoes td:nth-child(1){
    width: 85%;
}
.table-permissoes th:nth-child(2){
    width: 15%;
} */

/* .cabecalho-permissao, .celula-table{
    text-align: left;
    vertical-align: middle;
}
.cabecalho-permissao{
    background-color: #4A5863;
    color: #fff;
    position: sticky;
    top: -1px;
    padding: 10px;
    z-index: 1;
    border: 1px solid #4A5863;
    text-align: center;
}
.celula-table {
    background-color: #fff;
    font-family: 'Quattrocento Sans';
    border-left: 1px solid #ddd; 
    border-right: 1px solid #ddd;
    cursor: pointer;
    transition: all 0.4s ease;
} */

/* .head-text-table{
    padding-left: 50px;
    font-weight: bold;
} */
/* .categoria-filha .dropdown-btn{
    padding-left: 50px;
}
.categoria-neta .dropdown-btn{
    padding-left: 80px;
}
.categoria-bisneta .dropdown-btn,
.categoria-bisneta span{
    padding-left: 120px !important;
}
.categoria-filha span,
.categoria-neta span,
.categoria-bisneta span{
    font-weight: normal;
    font-size: 16px;
    padding: 15px;
    cursor: default;
}
.btn-dropdown-categoria:hover{
    background-color: #e1e1e1;
}
.permission-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
}
.permission-buttons button {
    padding: 4px;
    background-color: #E9EDF6;
    transition: background-color 0.3s;
    font-size: 1.6rem;
}

.permission-buttons button:hover {
    background-color: #D1D9E6;
}
.permission-buttons button.active {
    background-color: #0f3353;
    color: #fff;
}
.permission-buttons button.active:hover{
    background-color: #081b2c;
}
.dropdown-pai:after {
    content: '\25B6';
    float: right;
}
.dropdown-pai.active:after {
    content: '\25BC'; 
}*/

.dropdown-btn {
    width: 100%;
    height: 100%;
    background-color: transparent;
    border: none;
    padding: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: left;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    box-sizing: border-box;
    display: block;
}

.table-container {
    background-color: var(--table-container-bg);
    padding: 1vw 0 1vw 0;
    display: flex;
    flex-direction: column;  
}
.table-heading {
    margin-bottom: 10px;
    text-align: center;
}
.checkbox-table{
    text-align: center !important;
    padding: 5px !important;
}
.checkbox-table-style {
    background-color: var(--table-checkbox-bg);
}
.between{
    justify-content: space-between;
}

.dropdown-wrapper {
    position: relative;
    display: inline-block; /* Para que o botão continue em linha com outros itens */
    z-index: 1000;         /* garante que o dropdown fique acima de quase tudo */
}

.dropdown-content-novo { 
    display: none; /* Inicialmente oculto */
    position: absolute;
    background-color: var(--dropdown-content-bg); /* Cor de fundo mais clara para maior contraste */
    min-width: 160px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.5); /* Sombra mais suave */
    z-index: 3;
    top: calc(100%); /* Ajuste a posição para que não fique colado ao elemento pai */
    left: auto;
    right: 0;
    border-radius: 8px; /* Bordas arredondadas */
    overflow: hidden; /* Para ocultar conteúdos que transbordam */
    transition: opacity 0.3s ease, visibility 0.3s ease; /* Suaviza a transição ao aparecer */
}

.dropdown-content-novo a {
    color: var(--dropdown-content-font); /* Cor de texto mais escura para melhor legibilidade */
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    transition: background-color 0.2s ease; /* Suaviza a transição do fundo ao passar o mouse */
    font-size: 14px;
    font-weight: 400;
}

.dropdown-content-novo a:hover {
    background-color: var(--dropdown-content-font-hover); /* Cor de fundo do item ao passar o mouse */
}

.dropdown-content-novo a:focus {
    outline: none; /* Remove o contorno padrão do foco */
    background-color: var(--dropdown-content-font-hover); /* Mantenha a cor de fundo ao focar */
}
.dropdown-content-novo.show {
    display: block; /* Mostra o dropdown quando a classe 'show' é adicionada */
}
.div-container-btn-new {
    position: relative; /* Define o container como ponto de referência */
}
.padding-zero{
    padding: 0px !important;
}
.padding-top-zero{
    padding-top: 0;
}


.upload-container {
    text-align: center;
    background-color: var(--upload-container-bg);
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 0 15px var(--upload-container-shadow);
}
.upload-box {
    border: 3px dashed var(--upload-box-border);
    padding: 50px;
    border-radius: 10px;
    background-color: var(--upload-box-bg);
    color: #0f3353;
    cursor: pointer;
    margin-bottom: 20px;
    transition: background-color 0.3s, border-color 0.3s;
    width: 70%;
    align-self: center;
}
.upload-box p {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}
.upload-box.dragover {
    background-color: var(--upload-box-dragover-bg);
    border-color: var(--upload-box-dragover-border);
}
#fileInput {
    display: none;
}
.file-list {
    width: 100%;
    display: flex; /* Muda de coluna para linha */
    flex-wrap: wrap; /* Permite que os itens se movam para a próxima linha */
    justify-content: flex-start; /* Alinha os itens à esquerda */
}
.file-list .file-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 1%;
    padding: 1%;
    border: 1px solid var(--file-item-border);
    border-radius: 5px;
    background-color: var(--file-item-bg);
    box-shadow: 0 2px 4px var(--file-item-shadow);
    width: 23%; /* keep the width fixed */
}

.file-list .file-item .file-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 250px;
    min-width: 12.7vw;
    height: 100%;
    max-height: 250px;
    min-height: 25.46vh;
}
.file-list .file-item .file-info i {
    font-size: 7vw; /* same size as the image */
    margin-bottom: 5px;
}
.file-list .file-item[data-type="image"] .file-info i {
    color: var(--file-item-icon-image); /* Cor amarelada para arquivos de imagem */
}
.file-list .file-item[data-type="pdf"] .file-info i {
    color: var(--file-item-icon-pdf); /* Vermelho para PDFs */
}
.file-list .file-item[data-type="word"] .file-info i {
    color: var(--file-item-icon-word); /* Azul para documentos do Word */
}
.file-list .file-item[data-type="excel"] .file-info i {
    color: var(--file-item-icon-excel); /* Verde para planilhas do Excel */
}
.file-list .file-item .file-info img {
    max-width: 100%; /* A imagem nunca excederá a largura do contêiner */
    max-height: 150px; /* Limite máximo de altura para a miniatura */
    height: auto; /* Mantém a proporção da imagem */
    width: auto; /* Mantém a proporção da imagem */
    object-fit: contain; /* Garante que a imagem seja totalmente visível */
}

.file-list .file-item p {
    margin: 5px;
    padding: 5px;
    font-size: 14px;
    color: var(--file-item-font);
    white-space: nowrap; /* Não quebra a linha */
    overflow: hidden; /* Oculta o que transborda */
    text-overflow: ellipsis; /* Adiciona reticências ao final se o texto for longo */
    width: 100%; /* Garante que o nome ocupe toda a largura disponível */
}
.file-list .file-item:hover {
    box-shadow: 0 4px 8px var(--file-item-hover); /* Efeito de hover semelhante ao Windows */
}

/* -------------------------------------- CSS REFERENTE A CONFIGURAÇÃO DE MODAIS -----------------------------------*/

.modalContainer{
    display: none; /* Escondido por padrão */
    position: fixed; 
    z-index: 2; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: var(--modal-container-bg); 
    justify-content: center;
    align-items: center;
    
}
/* The Modal (background) */
.modal-imagem { 
    display: flex;
    background-color: var(--modal-imagem-bg);
    padding: 20px;
    width: 70vw;
    height: 80vh;
    animation: fadeIn 0.5s;
    position: relative; /* Necessário para posicionamento absoluto do botão de fechar */
    border-radius: 10px;
    justify-content: center;
    align-items: center;
}

/* Modal Content (Image) */
.modal-content-imagem {
    display: block;
    max-width: 80%; /* Largura máxima da imagem em relação ao modal */
    max-height: 80vh; /* Altura máxima em relação à altura da viewport */
    object-fit: contain; /* Ajusta a imagem mantendo as proporções */
}
/* Add Animation - Zoom in the Modal */
.modal-content-imagem{
    animation-name: zoom;
    animation-duration: 0.6s;
}
.close-imagem {
    position: absolute;
    top: 15px;
    right: 35px;
    color: var(--close-imagem-font);
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.close-imagem:hover,
.close:focus {
    color: #333;
    text-decoration: none;
    cursor: pointer;
}
.suggestions-box {
    border: 1px solid var(--suggestions-box-border);
    max-height: 200px;
    overflow-y: auto;
    position: absolute;
    background: var(--suggestions-box-bg);
    width: calc(100% - 1vw);
    z-index: 1000;
    font-size: 12px;
    left: 7; /* Garantir alinhamento ao lado esquerdo do input */
    display: none; /* Inicialmente oculto */
}

.recuado{
    width: calc(100% - 2.5vw);
}

.recuado-37{
    width: calc(100% - 3.7vw);
}

.top-100{
    top:100%
}

.top-85{
    top:90%;
}

.width-100{
    width: 100%;
}

.align-btn-link{
    width: calc(100% - 3.5vw);
}
.suggestion-active {
    background-color: var(--suggestion-active-bg);
    cursor: pointer;
}

.suggestion {
    padding: 10px;
    cursor: pointer;
    
}
.suggestion:hover {
    background-color: var(--suggestion-hover-bg);
}

.opcionais-container {
    /* display: none; */
    /* flex-wrap: wrap; */
    /*gap: 20px; /* Espaço entre os itens */
    max-height: 100%; /* ou qualquer altura desejada */
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--opcionais-container-border); /* opcional para visualização */
    background-color: var(--opcionais-container-bg); /* opcional para visualização */
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 colunas */
    gap: 10px;
}

.opcional-item {
    /*flex: 1 1 calc(33.33% - 20px); /* Ocupa 1/3 da linha menos o espaço 
    box-sizing: border-box;
    padding: 10px;
    text-align: left;
    display: flex;
    gap: 5px;*/
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border: 1px solid var(--opcionais-item-border);
    border-radius: 4px;
    background-color: var(--opcionais-item-bg);
}

.opcional-item label {
    display: flex;
    align-items: left;
    gap: 10px; /* Espaço entre o checkbox e o texto */
    justify-content: left;
}

.add-link {
    background-color: var(--add-link-bg);
    color: var(--add-link-font);
    padding: 5px;
    border-radius: 5px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    text-decoration: none;
    font-size: 1.9rem;
    display: flex;
    width: calc(5vh);
    align-items: center;
    justify-content: center;
    height: 5vh;
    cursor: pointer;
}
.input-btn-border{
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.add-link:hover {
    background-color: var(--add-link-hover);
}

.input-cliente{
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.input-with-btn {
    display: flex;
    align-items: center; /* Alinha verticalmente se os tamanhos forem diferentes */
}

.input-with-btn input {
    flex: 1;           /* Faz o input ocupar todo o espaço disponível */
    margin-right: 0;   /* Remove qualquer margem à direita (ajuste se necessário) */
}

.input-with-btn button {
    margin-left: 0;    /* Remove margem à esquerda para que fique colado ao input */
    padding: 6px 10px; /* Ajuste o padding conforme necessário para o design */
}

/* .input-cliente:focus{
    border: 1px solid #ff1111;
    outline: none;
} */
.div-table{
    width: 100%;
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: auto;
    max-height: 60vh;
    border-radius: 4px;
}
.styled-table thead {
    position: sticky;
    top: 0;
} 

.input-container .form-group input,
.input-container .form-group select,
.input-container .form-group textarea {
    width: 100%;
    box-sizing: border-box;  /* Inclui padding e border na largura total */
}

.input-container {
    display: flex;
    flex-wrap: wrap;           /* Permite quebra de linha quando necessário */
    gap: 0.5rem;                 /* Espaçamento entre os grupos */
    justify-content: space-between; /* Distribui os elementos uniformemente */
    align-items: flex-start;   /* Alinha os itens pelo topo (ou ajuste se preferir) */
}

.checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 5px; /* Espaço entre o checkbox e o texto */
    cursor: pointer; /* Melhora a usabilidade */
}

  /* Container da linha sem esticar */
.row-no-stretch {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
/* ########################################################## */

/* .add-contact-btn {
    display: flex;
    width: 10%;
    padding: 10px 15px;
    background-color: #22aa26;
    color: white;
    text-align: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
}
.add-contact-btn:hover {
    background-color: #1e9120;
} */
.button-group {
    margin-top: 10px;
    display: flex;
    gap: 10px;
}
.blue-btn {
    background-color: var(--btn-blue-bg);
    color: var(--btn-font);
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}
.blue-btn:hover {
    background-color: var(--btn-blue-hover);
}

.tamanho-btn-pesquisa {
    flex: 1;
    height: auto;
    padding: 10px;
    font-size: 14px;
    cursor: pointer;
}
.file-list .file-item .remove-button {
    background-color: var(--btn-red-bg);
    color: var(--btn-font);
    border: none;
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 5px; /* Adiciona espaço acima do botão */
}
.file-list .file-item .remove-button:hover {
    background-color: var(--btn-red-hover);
}

.excluir{
    width: 7%;
    height: 3vw;
    background-color: var(--btn-blue-bg);
    margin-left: 10px;
    text-align: center;
    display: flex;
}
.excluir:hover{
    background-color: var(--btn-blue-hover);
}


button{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    cursor: pointer;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
}
button:disabled{
    opacity: 0.7;
    cursor: not-allowed;
}
.btn-new-info-table {
    margin-top: 10px;
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.btn-filtro{
    background-color: var(--btn-filtro-bg);
    color: var(--btn-filtro-font)
}
.btn-filtro:hover{
    background-color: var(--btn-filtro-hover);
    /* color: rgb(120, 120, 120); */
}

.btn-expand{
    color: var(--btn-expand-font);
    background-color: var(--btn-expand-bg);
    position: absolute;
    right: 0; /* Alinha ao início do eixo X */
    top: 50%;
    transform: translateY(-50%); /* Centraliza no eixo Y */
    font-size: 20px;
}
.btn-expand:hover{
    background-color: var(--btn-expand-hover);
    font-size: 24px;
}

.btn-new-register,
.btn-busca-cep{
    background-color: var(--btn-verde-bg);
    color: var(--btn-font);
    /* transition: all .4s ease; */
}


.btn-new-register:hover:not(:disabled),
.btn-busca-cep:hover{
    background-color: var(--btn-verde-hover);
}

.btn-busca-cep{
    gap: 5px;
    padding: 6px;
    height: auto;
    max-height: 45px;
    width: auto;
    max-width: 75px;
    font-size: 20px;
    font-weight: normal;
}

.flex-basis-10{
    flex-basis: 10%;
}

.flex-basis-12{
    flex-basis: 12%;
}

.flex-basis-20 {
    flex-basis: 20%;
}

.flex-basis-30 {
    flex-basis: 30%;
}

.flex-basis-40 {
    flex-basis: 40%;
}

.flex-basis-50 {
    flex-basis: 50%;
}

.flex-basis-60 {
    flex-basis: 60%;
}

.flex-basis-70 {
    flex-basis: 70%;
}

.flex-basis-80 {
    flex-basis: 80%;
}

.flex-basis-90 {
    flex-basis: 90%;
}

.flex-basis-100 {
    flex-basis: 100%;
}
.flex-basis-15 {
    flex-basis: 15%;
}

.flex-basis-25 {
    flex-basis: 25%;
}

.flex-basis-35 {
    flex-basis: 35%;
}

.flex-basis-45 {
    flex-basis: 45%;
}

.flex-basis-55 {
    flex-basis: 55%;
}

.flex-basis-65 {
    flex-basis: 65%;
}

.flex-basis-75 {
    flex-basis: 75%;
}

.flex-basis-85 {
    flex-basis: 85%;
}

.flex-basis-95 {
    flex-basis: 95%;
}

.flex-basis-33{
    flex-basis: 33.33%;
}
.flex-basis-66{
    flex-basis: 66.66%;
}
.flex-basis-22{
    flex-basis: 22.5%;
}

.wrap{
    flex-wrap: wrap;
}

select option {
    background-color: var(--select-option-bg);  /* Cor de fundo das opções */
    color: black;             /* Cor do texto */
    padding: 5px;             /* Espaçamento interno */
    font-size: 14px;          /* Tamanho do texto *F/
}  

#add_pendencia{
    /* background-color: #fff;
    color: #000;
    border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
     */
    height: 40px;
}
.justify-content{
    justify-content: center;
}
/* .no-overflow{
    overflow-y: hidden !important;
    overflow-x: hidden !important;
} */
.content-table{
    width: 100%;
    /* height: calc(100% - 12.5% - 1vw); */
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.content-table .div-for-table{
    height: 100%;
    overflow-y: auto;
}
.div-for-table {
    width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 65vh; /* Ajuste conforme necessário */
    overflow-y: auto; /* Mantém rolagem interna */
}
.div-for-table::-webkit-scrollbar{
    background: transparent;
    width: 10px;
}
/* .div-for-table::-webkit-scrollbar-thumb{
    background-color: #3F4A55;
} */

.div-for-table::-webkit-scrollbar-thumb{
    background-color: var(--scroll-bg);
    border-radius: 15px;
}

.div-table-scroll-x{
    overflow-x: auto;
    overflow-y: hidden;
    height: 100%;
    padding-bottom: 3px;
}
.div-table-scroll-x::-webkit-scrollbar{
    background: transparent;
    height: 13px; 
}
.div-table-scroll-x::-webkit-scrollbar-thumb{
    background-color: var(--scroll-bg);
    border-radius: 5px;
}
.div-table-scroll-x .table-header,
.div-table-scroll-x .table-body{
    width:100%;
}
.table-header {
    position: sticky;
    top: 0;
    z-index: 2;
    width: 100%;
}
.table-body {
    flex: 1;
}
.table-footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    width: 100%;
    display: flex; 
    background-color: var(--table-footer-bg); 
    border: 1px solid var(--table-footer-border);
    color: var(--table-footer-font); 
    font-size: 16px;
    font-weight: bold;
}
.table-footer.footer-scroll-x{
    margin-top: 3px;
}
.footer-table-negociacao {
    justify-content: space-around;
}
.footer-table-negociacao div {
    display: flex;
    flex-direction: column;
    padding: 10px;
    flex: 1; 
    text-align: center;
}
.footer-table-negociacao span {
    font-weight: bold;
    font-size: 16px;
    color: var(--table-footer-font); 
}
/* Para o caso de contagens em zero, você pode adicionar um estilo opcional */
.footer-table-negociacao span:empty::after {
    content: "—"; 
    color: var(--table-footer-font); 
}
.footer-table-contas-pagar-receber{
    justify-content: flex-end;
    gap: 1vw;
}
.footer-table-contas-pagar-receber div{
    display: flex;
    flex-direction: column;
    padding: 10px;
    text-align: center;
}
.footer-table-contas-pagar-receber #total-movimentacoes{
    color: var(--table-footer-font);
}
.footer-table-contas-pagar-receber #valor-total-pagar{
    color: var(--table-footer-font-vermelho);
}
.footer-table-contas-pagar-receber #valor-total-receber{
    color: var(--table-footer-font-azul);
}
.definitive-table {
    width: 100%;
    border-collapse: collapse;
    text-overflow: ellipsis;
    border-spacing: 0;
    display: table;
    table-layout: fixed;
    border-bottom: 1px solid var(--table-border);
}
.definitive-table th, .definitive-table td {
    /* text-align: left; */
    padding: 10px;
    overflow: hidden; 
    text-overflow: ellipsis; 
}
.definitive-table tr th {
    background-color: var(--table-th-bg);
    color: var(--table-th-font);
    border: 1px solid var(--table-th-border); 
    font-size: 14px;
    /* text-align: center;*/
    white-space: wrap;
}
.definitive-table td {
    font-size: 13px;
    background-color: var(--table-td-bg);
    font-family: 'Roboto';
    font-weight: 4.mensagem-local00;
    border-left: 1px solid var(--table-border); /* Linha de Coluna */
    border-right: 1px solid var(--table-border); /* Linha de Coluna */
    white-space: nowrap;
}
.definitive-table tbody tr td {
    cursor: pointer;
    transition: background-color 0.4s ease;
}
.definitive-table tbody tr:hover td {
    background-color: var(--table-td-hover);
    
}
.definitive-table tr.inativa{
    opacity: 0.5;
    color: var(--table-tr-inativa);
}

.total-value{
    font-weight: 200;
}
/* .cad_table,
.cad_table tr,
.cad_table td,
.cad_table th{
    border: none;
} */

    
.definitive-table tbody tr.tr-selecionada td {
    background-color: var(--table-td-hover) !important;
}


/* Definindo a largura fixa das colunas  */


.left-align,
.pendecias-veiculo-table th, .pendecias-veiculo-table td,
.receita-despesa-table th, .receita-despesa-table td,
.historico-reserva-table th, .historico-reserva-table td,
.procuradores-table th, .procuradores-table td,
.receita-despesa-conta-table th, .receita-despesa-conta-table td,
.pendencia-negociacao-finalizacao-table th, .pendencia-negociacao-finalizacao-table td {
    text-align: left;
    white-space: normal;
}
.center-align,
.pendecias-veiculo-table th:nth-child(4),
.pendecias-veiculo-table td:nth-child(4),
.historico-reserva-table th:nth-child(5),
.historico-reserva-table td:nth-child(5),
.receita-despesa-table th:nth-child(6), 
.receita-despesa-table td:nth-child(6),
.pendencia-negociacao-finalizacao-table th:nth-child(5),
.pendencia-negociacao-finalizacao-table td:nth-child(5) {
    text-align: center;
    white-space: normal;
}
.right-align,
.receita-despesa-table th:nth-child(5),
.receita-despesa-table td:nth-child(5),
.receita-despesa-table th:nth-child(2),
.receita-despesa-table td:nth-child(2),
.pendecias-veiculo-table th:nth-child(3),
.pendecias-veiculo-table td:nth-child(3),
.historico-reserva-table th:nth-child(1),
.historico-reserva-table td:nth-child(1),
.pendencia-negociacao-finalizacao-table th:nth-child(4),
.pendencia-negociacao-finalizacao-table td:nth-child(4){
    white-space: normal;
    text-align: right;
}
.col-5,
.receita-despesa-conta-table th:nth-child(7),
.receita-despesa-conta-table td:nth-child(7),
.cad-procurador-procuracao-table th:nth-child(3),
.cad-procurador-procuracao-table td:nth-child(3) {
    width: 5%;
}

.col-6{
    width: 6%;
}

.col-7,
.receita-despesa-conta-table th:nth-child(6),
.receita-despesa-conta-table td:nth-child(6),
.receita-despesa-table th:nth-child(6),
.receita-despesa-table td:nth-child(6) {
    width: 7.5%;
}
.col-10,
.receita-despesa-table th:nth-child(2),
.receita-despesa-table td:nth-child(2),
.historico-reserva-table th:nth-child(1),
.historico-reserva-table td:nth-child(1),
.historico-reserva-table th:nth-child(5),
.historico-reserva-table td:nth-child(5),
.pendecias-veiculo-table th:nth-child(4),
.pendecias-veiculo-table td:nth-child(4),
.pendencia-negociacao-finalizacao-table th:nth-child(4),
.pendencia-negociacao-finalizacao-table td:nth-child(4),
.pendencia-negociacao-finalizacao-table th:nth-child(5),
.pendencia-negociacao-finalizacao-table td:nth-child(5),
.receita-despesa-conta-table th:nth-child(1),
.receita-despesa-conta-table td:nth-child(1),
.receita-despesa-conta-table th:nth-child(5),
.receita-despesa-conta-table td:nth-child(5) {
    width: 10%;
}
.col-15,
/* .dados-bancarios-table th:not(:first-child),
.dados-bancarios-table td:not(:first-child), */
/* .ref-comerciais-pessoais-table th:nth-child(2),
.ref-comerciais-pessoais-table td:nth-child(2),
.ref-comerciais-pessoais-table th:nth-child(4),
.ref-comerciais-pessoais-table td:nth-child(4), */
.pendecias-veiculo-table th:nth-child(1),
.pendecias-veiculo-table td:nth-child(1),
.pendecias-veiculo-table th:nth-child(3),
.pendecias-veiculo-table td:nth-child(3),
.receita-despesa-table th,
.receita-despesa-table td,
.pendencia-negociacao-finalizacao-table th:nth-child(1),
.pendencia-negociacao-finalizacao-table td:nth-child(1),
.pendencia-negociacao-finalizacao-table th:nth-child(6),
.pendencia-negociacao-finalizacao-table td:nth-child(6) {
    width: 15%;
}
.col-20,
/* .contact-table th:nth-child(-n+2),
.contact-table td:nth-child(-n+2), */
.pendecias-veiculo-table th:nth-child(5),
.pendecias-veiculo-table td:nth-child(5),
.receita-despesa-table th:nth-child(4),
.receita-despesa-table td:nth-child(4),
.receita-despesa-conta-table th,
.receita-despesa-conta-table td {
    width: 20%;
}
.col-25,
.pendencia-negociacao-finalizacao-table th,
.pendencia-negociacao-finalizacao-table td {
    width: 25%;
}
.col-30,
.pendecias-veiculo-table th:nth-child(2),
.pendecias-veiculo-table td:nth-child(2),
.receita-despesa-table th:nth-child(3),
.receita-despesa-table td:nth-child(3),
.procuradores-table th:nth-child(2),
.procuradores-table td:nth-child(2) {
    width: 30%;
}

/* .ref-comerciais-pessoais-table th,
.ref-comerciais-pessoais-table td,  */
.col-35{
    width: 35%;
}
.col-40 {
    width: 40%;
}
.col-45,
.cad-procurador-procuracao-table th,
.cad-procurador-procuracao-table td {
    width: 45%;
}
.col-50 {
    width: 50%;
}
.col-55
/* .dados-bancarios-table th:first-child,
.dados-bancarios-table td:first-child { */
{
    width: 55%;
}
.col-60 {
    width: 60%;
}
.col-65,
.procuradores-table th:nth-child(1),
.procuradores-table td:nth-child(1) {
    width: 65%;
}
.col-70 {
    width: 70%;
}

.div-table-veiculo-negociacao{
    overflow-x: auto;
    max-height: calc(100% - 15px);
    padding-bottom: 2px;
}
.div-table-veiculo-negociacao::-webkit-scrollbar{
    height: 15px; /* Ajusta a altura do scrollbar horizontal */
}
.div-table-veiculo-negociacao::-webkit-scrollbar-thumb {
    background-color: var(--scroll-bg);
    border-radius: 5px;
}


.padding-15{
    padding: 15px;
}
.margin-zero{
    margin: 0;
}
::-webkit-input-placeholder {
    color: var(--input-placeholder);
}

#quitacaoDisplay,
#agendamentoDispay{
    display: none;
}
.delete-btn-table-line{
    border: none;
    background: none;
    cursor: pointer;
    text-align: center;
}
#add_pendencia th{
    background-color: var(--table-sub-th-bg);
    border: 1px solid var(--table-sub-th-border);
}

.sublabel-valores-veiculos{
    font-size: 13px;
    color: var(--sublabel-font);
    font-weight: bold;
}

.div-container-search{
    /* height: 12.5%; */
    height: auto !important;
    display: flex;
    flex-direction: row;
    justify-content: space-between; /* Espaço entre os elementos horizontalmente */
    align-items: stretch; /* Alinha os elementos no final do eixo vertical */
    padding: 0 .5vw .5vw .5vw; /* Espaçamento interno */
}
.div-container-search.no-label{
    /* height: calc(12.5% - (16px * 1.1) - .5vw); */
    height: auto !important;
}
.consulta-dados{
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-items: center;
    gap: 10px;
}

.div-content-search .buttons-group {
    margin-left: auto;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* Garante tamanho fixo e ícone centralizado no botão */
.div-content-search .buttons-group > button {
    width: 5vh !important;
    height: 5vh !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ajusta o <a> interno para não esticar além dos 40×40 */
.div-content-search .buttons-group > button a.btn-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* Ajusta o tamanho do ícone, se necessário */
.div-content-search .buttons-group > button i {
    font-size: 1.6rem;
}

.dropdown-wrapper {
    position: relative;
    display: inline-block; /* para ficar “ao lado” de outros botões, se houver */
}

.div-content-search{
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    flex-basis: 100%;
    gap: 1%;
}

.div-input-search{
    display: flex;
    gap: 1%;
    flex-basis: 85%;
}
.div-content-search.movimentacoes{
    flex-basis: 95%;
}
.div-content-search.movimentacoes .div-input-search{
    flex-basis: 90%;
}
.div-content-search.movimentacoes .outros-btn-pesquisa{
    flex-basis: 10%;
}
.input-pesquisa {
    flex-grow: 1; 
    max-width: 100%; 
    padding: .5rem; 
    font-size: 1rem; 
}
.div-exibir{
    height: 5vh;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-basis: 30%;
    border: 1px solid var(--div-border);
    border-radius: 4px;
}
.div-exibir:hover{
    border: 1px solid var(--div-border-hover);
}
.div-exibir .div-exibir-itens{
    height: 100%;
    display: flex;
    align-items: center;
}
.div-exibir .div-exibir-itens:has(.alinhando-checkbox){
    width: 45%;
    justify-content: space-between;
}
.div-label-two-inputs{
    flex-basis: 40%;
    text-align: center;
}
.div-label-two-inputs .div-two-inputs{
    display: flex;
    gap: 3%;
}
.div-container-btn-new,
.outros-btn-pesquisa {
    display: flex;
    align-items: flex-end; 
}
.div-container-btn-new{
    flex-basis: 10%;
    justify-content: flex-end;
    align-content: center;
}
.outros-btn-pesquisa{
    gap: 5%;
    flex-basis: 15%;
}
.btn-cancel-register,
.btn-filtro,
.btn-new-register {
    width: calc(5vh);
    height: 5vh;
    font-size: 1.5rem; /* Tamanho do ícone */
}
.btn-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    
}
/* .botao-direita {
    flex-basis: 10%;
    display: flex;
    align-items: flex-end;

    text-align: right;
    position: relative;
}
.btn-pesquisa-container {
    display: flex;
    width: 100%;
    position: relative;
    padding: 1vw;
} */

label.required-input::after{
    content: " *";
    color: var(--required-label-font);
    font-weight: bold;
}
label.inicial-text::after{
    content: "Inicial";
    color: var(--sublabel-font);
    font-weight: bold;
}
.password-container,
.search-placa-container,
.search-cnpj-container{
    width: 100%;
    display: flex;
    position: relative;
}
.password-container input,
.search-placa-container input,
.search-cnpj-container input{
    padding: 6px 42px 6px 6px;
}
.password-container i,
.search-placa-container i,
.search-cnpj-container i{
    font-size: 26px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    padding: 6px;
    color: var(--input-icon-font);
}
.password-container i:hover,
.search-placa-container i:hover,
.search-cnpj-container i:hover{
    color: var(--input-icon-font-hover);
}

.no-result-menssage{
    display: none;
    text-align: center;
    background-color: var(--table-container-bg);
    border: 1px solid var(--table-border);
    border-top: none;
    padding: 10px;
    font-size: 18px;
}

.div-veiculo-negociacao{
    position: relative;
    padding: .5vw;
    width: 100%;
}
.div-veiculo-negociacao .flex-container button{
    width: 4vw;
    height: 5vh;
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}
.veiculos-negociacao{
    display: flex;
    flex-direction: column;
}
.veiculos-negociacao h3{
    margin-bottom: 0;
}
.veiculos-negociacao hr{
    margin: 1vw 0;
}
.definitive-table .children-table{
    padding-left: 2vw;
}
.content-wrapper {
    display: flex;
    justify-content: space-between; /* Texto à esquerda e ícone à direita */
    align-items: center; /* Centraliza verticalmente */
    width: 100%;
}
/* Ícone interativo */
.toggle-icon {
    cursor: pointer;
    transition: transform 0.2s ease; /* Animação suave ao girar */
    font-size: 1.5rem; /* Ajuste do tamanho */
}
.veiculos-negociacao .content-docs{
    padding-top: 0;
}
.content-docs{
    padding-top: 1vw;
    display: flex;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;

    & .checkbox{
        padding: .5vw;
        display: flex;
        align-items: center;
        gap: 5px;
    }

    & .add-button{
        padding: .5vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
    }
}
.valor-cell.valor-pagar {
    color: var(--font-red);
}

.div-for-cards{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1em .5em .5em .5em;
    gap: 1em;
}
.card-tipo-financiamento{
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: var(--card-bg);
    background-clip: border-box;
    border: 1px solid var(--card-shadow);
    border-radius: 0.25rem;
    width: calc(50% - .5em); /* Cada card ocupa 50% do contêiner */
    box-shadow: 0 0.125rem 0.25rem var(--card-shadow);
}
.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: var(--card-header-bg);
    border-bottom: 1px solid var(--card-border);
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    font-size: 1.30rem;
    font-weight: 600;
    color: var(--card-header-font);
}
.card-body {
    flex: 1 1 auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.card-title {
    font-size: 1.5rem;
    margin-bottom: .5rem;
    font-weight: 500;
    color: var(--card-title-font);
}
.card-text {
    margin-top: 0;
    margin-bottom: .5rem;
    color: var(--card-font);
    font-size: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.card-text-columns {
    column-count: 2; /* Divide o conteúdo em duas colunas */
    column-gap: 1.25rem; /* Espaço entre as colunas */
}
.card-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: .5rem;
}
.btn-footer {
    background-color: var(--btn-verde-bg);
    color: var(--btn-font);
    padding: 0.375rem;
    font-size: 1.625rem;
    border-radius: 0.25rem;
    border: none;
    cursor: pointer;
}

.btn-footer:hover {
background-color: var(--btn-verde-hover);
}
#id-valor-parcela-balao-venda,
#id-valor-parcela-balao-financiamento{
    display: none;
}

#toggle-opcionais-btn {
    position: absolute;
    right: 0; /* Alinha ao início do eixo X */
    top: 50%;
    transform: translateY(-50%); /* Centraliza no eixo Y */
}
.container-notification{
    position: fixed !important;
    top: 3.5rem !important;
    right: 1rem !important;
    z-index: 2147483647 !important;  /* máximo no CSS */
    pointer-events: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end; /* faz as notificações se alinhar à direita */
    gap: 0.5rem;           /* espaço entre cada notificação */
}
.div-notification{
    position: relative;
    z-index: 2147483647 !important;
    pointer-events: all;
}
.header-notification{
    width: 100%;
    height: 25%;
    padding: 0 .5vw;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    background-color: var(--notification-header-bg);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-notification h3{
    color: var(--notification-header-font);
    margin: 0;
    font-size: 1.25em;
}
.header-notification i{
    color: var(--notification-header-icon);
    font-size: 1.75em;
    font-weight: bold;
    cursor: pointer;
}
.content-notification{
    padding: 1vw;
    height: 65%;
    background-color: var(--notification-bg);
}
.progress-container {
    width: 100%;
    height: 4px;            /* define a altura visível */
    background: var(--notification-progress-cont);     /* cor de fundo suave */
    overflow: hidden;
}

/* A própria barra que “cresce” */
.progress-bar {
    width: 0%;
    height: 100%;
    background: var(--notification-progress-bar);     /* cor da barra */
    transition: width 0s;    /* será ajustado em JS */
}

.expand{
    /*display: none; /* Começa oculto */
    transition: max-height 0.3s ease-in-out;
    max-height: 0;
    overflow: hidden;
}

.expand.active{
    /*display: block; /* Mostra quando ativo */
    max-height: none; /* ou auto, se você preferir */
    overflow: visible;
}

.new-car-btn-modal{
    position: relative;
    background-color: var(--add-link-bg);
    color: var(--add-link-font);
}

.small-icon{
    font-size: 13px;
    position: absolute;
    top: 10%;
    right: 15%;
    background-color: var(--add-link-bg);
    border-radius: 60%;
    transition: all .4s ease;
}
.new-car-btn-modal:hover .small-icon{
    background-color: var(--add-link-hover);
}
.new-car-btn-modal:hover {
    background-color: var(--add-link-hover) !important;
    color: var(--add-link-font) !important;
}

.btn-save-edit,
.btn-cancel-edit{
    width: calc(5vh);
    height: 5vh;
    font-size: 1.9rem;
    color: var(--btn-font);
    transition: all .4s ease;
}

.btn-cancel-edit{
    background-color: var(--btn-red-bg);
}
.btn-cancel-edit:hover{
    background-color: var(--btn-red-hover);
}
.btn-save-edit{
    background-color: var(--btn-verde-bg);
}
.btn-save-edit:hover{
    background-color: var(--btn-verde-hover);
}

.sublabel{
    font-size: 14px;
    color: VAR(--sublabel-font);
}

.grafico-fipe-wrapper {
    max-width: 80vw;
    max-height: 50vh;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

#graficoFipe {
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    max-height: 50vh;
}

#graficoFipe-modal {
    height: 60vh !important;
}

.close-notification:hover{
    transform: scale(1.3);
    opacity: 0.33;
}


.input-error,
.campo-vazio {
    outline: 2px solid var(--input-error-outline) !important;
    background-color: var(--input-error-bg) !important;
    transition: background-color 0.3s;
    color: var(--input-error-font) !important;
    font-weight: bold;
}

.content-notification p { white-space: pre-line; }

.div-notification {
    box-sizing: border-box;
    padding: 1rem;      /* dá um respiro ao redor de tudo */
    max-width: 400px;   /* ou o que fizer sentido pra você */
    margin: auto;       /* centra horizontalmente */
}

.div-notification.confirm-modal {
    z-index: 2147483647 !important;
}

/* coloca o modal de confirmação bem no meio da viewport */
.confirm-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    width: 40vw;       /* ou o tamanho que desejar */   
    border-radius: 8px;
    z-index: 10000;      /* acima de tudo */
    background: transparent;
    box-shadow: none;
    padding: 0;
}
  /* ajusta os botões de ação */
.confirm-modal .actions-notification {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 1rem;
}

.confirm-modal .actions-notification .btn-barra.pequeno {
    padding: 0.4em 1em;
    font-size: 0.9rem;
}

/* ------------------- CSS EXCLUSIVO PARA TABELA DE CONSULTA CONTA FINANCEIRA -------------------*/

.icons-container {
    display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    padding: 8px;
    border-radius: 6px;
    transition: transform 0.2s, background-color 0.2s, color 0.2s, outline 0.2s;    
}

/* Hover no editar */
.icons-container i.bxs-edit-alt:hover {
background-color: var(--btn-verde-hover);
color: #fff;
transform: scale(1.6);       /* aumenta icon */
border-radius: 2px;
}

/* Hover no excluir */
.icons-container i.bxs-trash:hover {
background-color: var(--btn-red-hover);
color: #fff;
transform: scale(1.6);
border-radius: 2px;
}

.icons-container i {
    font-size: 16px;
    cursor: pointer;
}

.bxs-star{
    color: #ffc107;
}

.bxs-edit-alt{
    color: var(--btn-verde-bg);
}

.parent-row td {
    font-weight: bold;
}

/* ------------ NOTIFICAÇÃO ---------------*/

.pending-delete td {
    background-color: var(--td-pending-delete);
}

/* ------------ ICONES -------------------*/

.bxs-trash:hover{
    transform: scale(1.3);
    padding: 3px;
    background-color: var(--td-pending-delete-hover);
    border-radius: 3px;
}

/* centraliza a coluna da lixeira */
/* tbody tr td:last-child {
    text-align: center; 
} */

/* e garante que o <i> fique bem no meio */
.trash-icon-class {
    display: inline-block;
    margin: 0 auto;
    }

.trash-cell {
    text-align: center;
}

/* ------------ TABS CONTAINER -------------------*/

.tabs-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2vw;
    margin-top: 0;
    margin-bottom: 0vh;
}
.tab-link {
    background-color: var(--tab-link-bg);
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
}
.tab-link.active {
    background-color: var(--tab-link-bg-active);
    color: var(--tab-link-font-active);
}
.tab-content {
    display: none;
}
.tab-content.active {
    width: 100%;
    display: block;
}

.tab-link-modal.error,
.tab-link.error {
    outline: 2px solid var(--tab-link-outline-error) !important;
    background-color: var(--tab-link-bg-error);
    color: var(--tab-link-font);
}

.tabs-container-modal {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2vw;
    margin-bottom: 0vh;
}
.tab-link-modal {
    background-color: var(--tab-link-bg);
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
}

.tab-link.error.active,
.tab-link-modal.active {
    background-color: var(--tab-link-bg-active);
    color: var(--tab-link-font-active);
}
.tab-content-modal {
    display: none;
}
.tab-content-modal.active {
    width: 100%;
    display: block;
}

/*----------- FORMATAÇÃO QUANDO UMA LINHA DA TABELA É SELECIONADA --------- */

tr.selected-row,
tr.selected-row td {
    background-color: var(--td-pending-delete) !important;
}

/* -------------- FORMATAÇÃO DO CONTAINER DE CONFIRMAÇÃO DA EXCLUSAO ------------- */

.confirm-choice {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    width: 40vw;       /* ou o tamanho que desejar */   
    border-radius: 8px;
    z-index: 10000;      /* acima de tudo */
    background: transparent;
    box-shadow: none;
    padding: 0;
}


.div-notification.confirm-choice .actions-notification {
    display: flex;
    justify-content: end;
    gap: 0.5rem;
    margin-top: 1rem;
}

/* -------------- FORMATAÇÃO DO TABLE QUANDO ESTA NO MODELO DISABLED ------------- */

.disabled-table {
    opacity: 0.5;
    pointer-events: none;
    /* opcional: cursor diferente */
    cursor: not-allowed;
}


#pf-fields,
#pj-fields,
#pf-fields-modal,
#pj-fields-modal {
    display: flex;
    flex-wrap: wrap;
}

#cadastro-compra-documentos-form .checkbox,
#cadastro-venda-documentos-form .checkbox {
    display: flex;
    align-items: center;
}

.grupos-vertical {
    display: flex;
    flex-direction: column;   /* empilha os itens */
    align-items: flex-start;  /* alinha à esquerda */
    gap: 6px;                 /* espaçamento entre linhas */
    max-height: 220px;        /* opcional: limita altura */
    overflow: auto;           /* opcional: rolagem se passar */
}

.grupos-vertical .check-with-label {
    display: flex;
    align-items: center;
    gap: 8px;                 /* espaço entre checkbox e texto */
    margin: 0;                /* remove margens laterais antigas */
}